package com.allwees.data.analysis.stat.dao;

import com.allwees.core.dao.mybatis.dao.BaseDao;
import com.allwees.data.analysis.stat.entity.BaseStatEntity;
import com.allwees.data.analysis.stat.req.QueryStatReq;
import com.allwees.data.analysis.stat.vo.StatDetailVo;
import com.allwees.data.analysis.stat.vo.StatVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 *
 * @author yangylsky
 * @since 2020-04-16
 *
 */
public interface StatDao<E extends BaseStatEntity, SD extends StatDetailVo, S extends StatVo<SD>> extends BaseDao<E> {
	List<S> statByType(@Param("req") QueryStatReq req);

	List<SD> statDetailByType(@Param("req") QueryStatReq req);

	S statRateByType(@Param("req") QueryStatReq req);

	List<SD> statRateDetailByType(@Param("req") QueryStatReq req);

	List<S> statByTypeAndBsKey(@Param("req") QueryStatReq req);

	List<SD> statDetailByTypeAndBsKey(@Param("req") QueryStatReq req);
}
